Non-Deterministic Lisp with Dependency-directed Backtracking

نویسندگان

  • Ramin Zabih
  • David A. McAllester
  • David Chapman
چکیده

Extending functional Lisp with McCarthy’s nondeterministic operator AHFJ yields a language which can concisely express search problems. Dependencydirected backtracking is a powerful search strategy. We describe a non-deterministic Lisp dialect called SCHEMER and show that it can provide automatic dependency-directed backtracking. The resulting language provides a convenient interface to this efficient backtracking strategy. Many problems in Artificial Intelligence involve search. SCHEMER is a Lisp-like language with nondeterminism which provides a natural way to express sea.rch problems. Dependency-directed backtracking is a powerful strategy for solving search problems. We describe how to use dependency-directed backtracking to interpret SCHEMER. This provides SCHEMER programs with the benefits of dependency-directed backtracking automatically. We begin by describing the SCHEMER language. We next provide an overview of dependency-directed backtracking and list its requirements. We then show how to meet these requirements in interpreting SCHEMER. Finally, we argue that SCHEMER with automatic dependency-directed backtracking would be a useful tool for Artificial Intelligence by comparing it with current methods for obtaining dependency-directed backtracking. I. SCHEMER is Scheme with AMB SCHEMER consists of functional Scheme [Rees e-t al. 19861 plus McCarthy’s ambiguous operator AMB [McCarthy 19631 and the special form (FAIL). AMB takes two arguments and non-deterministically returns the value of one of them. Selecting the arguments of the AMB's in an expression determines a possible execution. Each SCHEMER ext Author's current address: Computer Science Department, Stanford University, Stanford, California, 94305. This paper describes research done at the Artificial Intelligence Laboratory at the Massachusetts Institute of Technology, supported in part by the Advanced Research Projects Agency of the Department of Defense under Office of Naval Research contracts NoO014-80-C0505 and NOOOl4-86-K-0180, in part by National Science Foundation grant MCS-8117633, and in part by khe IBM Corporation. Ramin Zabih is suppori.ed by a fellowship from the Fannie and John Hertz Foundation. pression is thus associated with a set of possible values. In the program below, the expression (ANY-NUMBER) nondeterministically returns some whole number. (DEFINE (ANY-NUMBER) (AMB 0 (l+ (ANY-NUMBER)))) Similarly, (ANY-PRIME) non-deterministically returns some prime number. (DEFINE (ANY-PRIME) (LET ((NUMBER (ANY-NUMBER))) (IF (PRIME? NUMBER) NUMBER (FAIL)))) ANY-PRIME eliminates certain possible values by evaluating (FAIL). The expression (FAIL) has no possible values. A mathematically precise semantics for SCHEMER is beyond the scope of this paper there are several possible semantics that differ in technical detail [Clinger 1982, Zabih et nl. 19871. Under all these semantics, however, the expression (FAIL) can be used to eliminate possible values; finding a possible value for a SCHEMER expression requires finding an execution that doesn’t evaluate (FAIL). For a given expression there may be a very large number of different ways of choosing the values of AMB expressions. If there are 12 independent binary choices in the computation then there are 2* different combinations of choices, and thus 2* different executions. In certain expressions most combinations of choices result in failure. Finding one or more possible values for a SCHEMER expression requires searching the various possible combinations of choices. Interpreting SCHEMER thus requires search. The semantics of the language do not specify a search strategy. Correct interpreters with different strategies will produce the same possible values for an expression, and can differ only in efficiency. It is straightforward to write 3. SCHEMER interpreter that searches all possible esecutions in a brute force manner by backtracking to the most, recent non-exhausted choice in the event of a failure. Such an interpreter would use simple “chronological” backtra.cking. We describe a more sophisticated SCHEMER interpreter that automatically incorporates dependency analysis and dependency-directed backtracking. This interpreter, originally described in [Za.bih 198’71, allows programmers to gain the efficiency benefits of dependencydirected backtracking automatically for SCHEMER code. Zabih, McAllester, and Chapman 59 From: AAAI-87 Proceedings. Copyright ©1987, AAAI (www.aaai.org). All rights reserved.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Backtracking and Qualified Number Restrictions: Some Preliminary Results

Description Logics (DLs) are useful in the database domain, where they can be used to reason, e.g., about conceptual schemas and query containment. DL knowledge bases derived from relatively small UML diagrams have, however, proven difficult of impossible for state of the art DL systems to solve. We show that in the FaCT system this problem results from the failure of dependency directed backtr...

متن کامل

Adapting Optimization Techniques to Description Logics with Concrete Domains

In this paper, we demonstrate that the main standard optimization techniques dependency directed backtracking and model merging can be adapted to description logics with concrete domains. We propose algorithms for these techniques for the logics ALC(D) and ALCRP(D). Important results of this study are (1) a new requirement for concrete domains in order to enable dependency directed backtracking...

متن کامل

FaCT and DLP

FaCT: The tests were performed using FaCT version 1.2. FaCT is a description logic classifier whose description language is a superset of K4(m) and whose subsumption reasoning uses a sound and complete tableaux algorithm. FaCT employs a wide range of optimisations, in particular a form of dependency directed backtracking called backjumping which can significantly reduce the size of the search s...

متن کامل

Ham-alc

HAM-ALC: The tests were performed using HAM-ALC version 1.1. HAM-ALC [2] is a description logic classifier which has been constructed for providing a basis for an optimized ALCRP(D) [1] implementation. Based on a sound and complete tableau algorithm HAM-ALC currently implements a true ABox reasoner for the logic ALC. HAM-ALC employs a few optimizations inspired by FaCT [3], in particular semant...

متن کامل

Efficient Search Techniques for the Inference of Minimum Size Finite Automata

We propose a new algorithm for the inference of the minimum size deterministic automaton consistent with a prespecified set of input/output strings. Our approach improves a well known search algorithm proposed by Bierman, by incorporating a set of techniques known as dependency directed backtracking. These techniques have already been used in other applications, but we are the first to apply th...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 1987